var oTagMapFeeds = {};
var oSelectedTeams = new Array();
var oSelectedTeamsName = new Array();
var oEquipos1;
var oEquipos2;

function init(){
    loadExtension();
}

// String.format 
function _StringFormatInline(){
    var txt = this;
    for (var i = 0; i < arguments.length; i++) {
        var exp = new RegExp('\\{' + (i) + '\\}', 'gm');
        txt = txt.replace(exp, arguments[i]);
    }
    return txt;
}

function _StringFormatStatic(){
    for (var i = 1; i < arguments.length; i++) {
        var exp = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
        arguments[0] = arguments[0].replace(exp, arguments[i]);
    }
    return arguments[0];
}

if (!String.prototype.format) {
    String.prototype.format = _StringFormatInline;
}

if (!String.format) {
    String.format = _StringFormatStatic;
}

Storage.prototype.setObject = function(key, value){
    this.setItem(key, JSON.stringify(value));
}

Storage.prototype.getObject = function(key){
    try {
        return JSON.parse(this.getItem(key));
    } 
    catch (e) {
    
    }
}

function loadExtension(){
    loadConfig();
    fillData();
    if (localStorage.getObject('selectedTeams')!=null) {
        oSelectedTeams = localStorage.getObject('selectedTeams');
        if (oSelectedTeams.length > 0) {
            for (var i = 0; i < oSelectedTeams.length; i++) {
                $("#" + oSelectedTeams[i]).attr('checked', true);
            }
        }
    }
    
    $("input[type='checkbox']").change(function(){
        saveConfig();
    });
    
}

function loadConfig(){
    // load feed list
    try {
        oEquipos1 = chrome.extension.getBackgroundPage().equipos1;
        oEquipos2 = chrome.extension.getBackgroundPage().equipos2;
    } 
    catch (e) {
    
    }
    
    // create feeds tagMap
    for (var i = 0; i < oEquipos1.length; i++) {
        oTagMapFeeds[oEquipos1[i].value] = oEquipos1[i];
    }
    for (var i = 0; i < oEquipos2.length; i++) {
        oTagMapFeeds[oEquipos2[i].value] = oEquipos2[i];
    }
}

function fillData(){
    for (var i = 0; i < oEquipos1.length; i++) {
        $("#equipos1-container").append("<div class=\"\seleccion\"><input name=\"chkTeam\" id=\"" + oEquipos1[i].value + "\" type=\"checkbox\" />" + oEquipos1[i].display_value + "</div>");
    }
    for (var i = 0; i < oEquipos2.length; i++) {
        $("#equipos2-container").append("<div class=\"seleccion\"><input name=\"chkTeam\" \"chk\" id=\"" + oEquipos2[i].value + "\" type=\"checkbox\" />" + oEquipos2[i].display_value + "</div>");
    }
    
}

function showOrHideDescription(obj, divId){
    $("#" + divId).slideToggle(100, function(){
    });
}



function saveConfig(){
    oSelectedTeams = new Array();
    oSelectedTeamsName = new Array();
    $("input[type='checkbox']").each(function(){
        if ($(this).is(":checked")) {
            oSelectedTeams.push(this.id);
            oSelectedTeamsName.push(oTagMapFeeds[this.id].display_value);
        }
        
    });
    
    localStorage.setObject('selectedTeams', oSelectedTeams);
    localStorage.setObject('selectedTeamsName', oSelectedTeamsName);
}



